package com.ruoyi.nongjt.service;

import com.ruoyi.nongjt.domain.dto.CertificateStatisticsDTO;

/**
 * 合格证统计Service接口
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public interface CertificateStatisticsService 
{
    /**
     * 获取合格证统计概览数据
     * 
     * @param districtCode 区县代码
     * @param year 年份
     * @param month 月份
     * @return 统计概览数据
     */
    CertificateStatisticsDTO getStatisticsOverview(String districtCode, String year, String month);

    /**
     * 获取合格证开具数量统计（按月）
     * 
     * @param districtCode 区县代码
     * @param year 年份
     * @return 月度统计数据
     */
    java.util.List<CertificateStatisticsDTO.MonthlyStatistics> getMonthlyStatistics(String districtCode, String year);

    /**
     * 获取主要农产品数量统计
     * 
     * @param districtCode 区县代码
     * @param year 年份
     * @param month 月份
     * @return 农产品统计数据
     */
    java.util.List<CertificateStatisticsDTO.ProductStatistics> getProductStatistics(String districtCode, String year, String month);

    /**
     * 获取街道/镇合格证打印数量统计
     * 
     * @param districtCode 区县代码
     * @param year 年份
     * @return 街道统计数据
     */
    java.util.List<CertificateStatisticsDTO.StreetStatistics> getStreetStatistics(String districtCode, String year);

    /**
     * 获取主体合格证开具数量排名
     * 
     * @param districtCode 区县代码
     * @param year 年份
     * @return 主体统计数据
     */
    java.util.List<CertificateStatisticsDTO.EntityStatistics> getEntityStatistics(String districtCode, String year);

    /**
     * 获取街道/镇用户数量统计
     * 
     * @param districtCode 区县代码
     * @param year 年份
     * @return 街道用户统计数据
     */
    java.util.List<CertificateStatisticsDTO.StreetUserStatistics> getStreetUserStatistics(String districtCode, String year);

    /**
     * 获取每日合格证开具实时数据
     * 
     * @param districtCode 区县代码
     * @param year 年份
     * @param month 月份
     * @return 每日统计数据
     */
    java.util.List<CertificateStatisticsDTO.DailyStatistics> getDailyStatistics(String districtCode, String year, String month);
}
